草庐IT

ssh 免密

全部标签

php - ssh2_exec() 不会用 "cd"改变目录

我遇到了ssh_exec()拒绝执行“cd”命令的问题。如果我直接登录服务器并执行命令,它工作正常,所以我认为问题不是我的命令。我的代码如下:$str=ssh2_exec($sshStream,'cp/var/www/compressed.tar.gz/var/www/vhosts/demo-domain1.com/httpdocs/');$errstr=ssh2_fetch_stream($str,SSH2_STREAM_STDERR);stream_set_blocking($str,true);stream_set_blocking($errstr,true);echo"Outp

PHP ssh2_exec channel 退出状态?

好的,peclssh2应该是libssh2的包装器。libssh2有libssh2_channel_get_exit_status。有什么方法可以获取这些信息吗?我需要:-标准输出-标准错误-退出状态除了退出状态,我得到了所有。当ssh出现时,很多人都在使用phplibsec,但我看不出有什么方法可以从中获取stderr或channel退出状态:/有没有人能够获得所有这三个? 最佳答案 所以,首先要做的是:不,他们没有实现libssh2_channel_get_exit_status。为什么?超越我。这是id所做的:$command

php - 使用 ssh2_scp_send() 发送的文件在远程服务器上不完整

我使用PHP和SSH2将文件传输到远程服务器。我用这个:$connection=ssh2_connect('shell.example.com',22);ssh2_auth_password($connection,'username','password');ssh2_scp_send($connection,'/local/filename','/remote/filename',0644);但有时远程服务器上的文件不完整。我假设SSH2不传输EOF或其他任何东西。您有什么想法或解决方案吗? 最佳答案 问题是您没有关闭SSHse

php - 无法通过 ssh 访问服务器下载 Composer - 1and1

我可以通过SSH访问我的1and1服务器。我正在尝试下载Composer。遵循http://getcomposer.org/download/的说明尝试1:user:~>curl-sShttps://getcomposer.org/installer|phpX-Powered-By:PHP/4.4.9Content-type:text/htmlParseerror:syntaxerror,unexpected'{'in-online316尝试2:php-r"eval('?>'.file_get_contents('https://getcomposer.org/installer'))

php - 使用 sftp 和 ssh2 的 fopen 段错误

我有一个在AWS上运行的php系统和一个使用shh2和sftp在外部服务器上上传xlsx文件的类。此代码在上次升级aws包openssh-clients-6.6.1p1-31.62和openssh-server-6.6.1p1-31.62之前一直运行良好,此时我有一个fopen期间出现strong>segfault。Fopen在外部服务器上创建一个文件。这里的代码:$stream=@fopen("ssh2.sftp://$this->sftp$remote_file",'w');然后我使用$stream来编写内容,但是代码停止在fopen上,因为出现了段错误。我没有找到关于这个问题的任

php - 调用未定义函数 ssh2_connect()

$connection=ssh2_connect($SFTP_SERVER,22);ssh2_auth_password($connection,$SFTP_USERNAME,$SFTP_PASSWORD);$sftp=ssh2_sftp($connection);Fatalerror:Calltoundefinedfunctionssh2_connect()in/var/www/html/beta/0sftp.phponline33我的系统是CentOS6.4所有需要的扩展都安装了但我不知道如何验证。 最佳答案 尝试运行命令:yu

php - 使用 PHP SSH2 检查远程目录

如何使用PHP-SSH2检查远程SSH服务器中是否存在目录“xyz”? 最佳答案 您可以使用file_exists使用sftp前缀'ssh2.sftp://'例如,通过已建立的连接,您可以:$sftp=ssh2_sftp($connection);$fileExists=file_exists('ssh2.sftp://'.$sftp.'/home/marco'); 关于php-使用PHPSSH2检查远程目录,我们在StackOverflow上找到一个类似的问题:

PHP 通过 SSH 隧道连接到其他网络中的 LDAP

我正在为我的学校开发网站。在那所学校,我们通过LDAP对用户进行身份验证,因此有一个通过学校站点进行相同操作的想法。在该站点上,一切都运行良好,但在开发过程中,我需要经常测试这种解决方案是否有效。为了不那么频繁地提交我的更改,我想在我的本地计算机上测试这个站点,但是为了与LDAP连接,我想使用ssh隧道。在学校网络中,我们通过我们在学校网络内部连接的女巫拥有一台服务器。它的地址是phoenix.lo5.bielsko.pl。在这个网络中,我们有LDAP服务器打开了389和636端口。它的地址是auth.lo5。我无权通过SSH访问auth.lo5,我只能连接它以获取一些LDAP条目。所

PHP ssh2_connect() 实现超时

我正在使用PHPssh2库,并且只需执行以下操作:$ssh=ssh2_connect($hostname,$port);问题是我想设置超时,即5秒后停止尝试连接。据我所知,ssh2库不支持native连接超时。如何实现超时包装器? 最佳答案 我知道这是一个旧线程,但问题仍然存在。因此,这是它的解决方案。ssh2_connect()使用socket_connect()。socket_connect依赖于phpini配置参数default_socket_timeout,默认设置为60秒(http://php.net/manual/en/

解决ssh远程登录,超时自动退出的问题

ssh远程登录服务器,如果一段时间没有操作就会被迫下线。这在一定程度上提高了远程运维的安全性。但是如果时间设置的太短,往往会造成不便。为了解决这个问题需要进行以下设置:方法一:通过服务端配置解决1、设置ssh的定期重试vim/etc/ssh/sshd_config#server每隔60秒发送一次请求给client,然后client响应,从而保持连接ClientAliveInterval60#server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应ClientAliveCountMax32、修改shell的过期时间如果回话超时时,有类似如下的提示ti